package com.arn.scrobble.themes.colors

import androidx.compose.material3.darkColorScheme
import androidx.compose.material3.lightColorScheme
import androidx.compose.ui.graphics.Color

object Theme3f51b5 : ThemeVariants {
    override val name = this::class.simpleName!!

    override val light
        get() = lightColorScheme(
            primary = Color(0xFF515B92),
            onPrimary = Color(0xFFFFFFFF),
            primaryContainer = Color(0xFFDEE0FF),
            onPrimaryContainer = Color(0xFF0B154B),
            secondary = Color(0xFF5B5D72),
            onSecondary = Color(0xFFFFFFFF),
            secondaryContainer = Color(0xFFE0E1F9),
            onSecondaryContainer = Color(0xFF181A2C),
            tertiary = Color(0xFF77536D),
            onTertiary = Color(0xFFFFFFFF),
            tertiaryContainer = Color(0xFFFFD7F1),
            onTertiaryContainer = Color(0xFF2D1228),
            error = Color(0xFFBA1A1A),
            onError = Color(0xFFFFFFFF),
            errorContainer = Color(0xFFFFDAD6),
            onErrorContainer = Color(0xFF410002),
            background = Color(0xFFFBF8FF),
            onBackground = Color(0xFF1B1B21),
            surface = Color(0xFFFBF8FF),
            onSurface = Color(0xFF1B1B21),
            surfaceVariant = Color(0xFFE3E1EC),
            onSurfaceVariant = Color(0xFF46464F),
            outline = Color(0xFF767680),
            outlineVariant = Color(0xFFC7C5D0),
            scrim = Color(0xFF000000),
            inverseSurface = Color(0xFF303036),
            inverseOnSurface = Color(0xFFF2EFF7),
            inversePrimary = Color(0xFFBAC3FF),
            surfaceDim = Color(0xFFDBD9E0),
            surfaceBright = Color(0xFFFBF8FF),
            surfaceContainerLowest = Color(0xFFFFFFFF),
            surfaceContainerLow = Color(0xFFF5F2FA),
            surfaceContainer = Color(0xFFEFEDF4),
            surfaceContainerHigh = Color(0xFFE9E7EF),
            surfaceContainerHighest = Color(0xFFE4E1E9)
        )

    override val dark
        get() = darkColorScheme(
            primary = Color(0xFFBAC3FF),
            onPrimary = Color(0xFF222C61),
            primaryContainer = Color(0xFF394379),
            onPrimaryContainer = Color(0xFFDEE0FF),
            secondary = Color(0xFFC3C5DD),
            onSecondary = Color(0xFF2D2F42),
            secondaryContainer = Color(0xFF434659),
            onSecondaryContainer = Color(0xFFE0E1F9),
            tertiary = Color(0xFFE6BAD7),
            onTertiary = Color(0xFF44263D),
            tertiaryContainer = Color(0xFF5D3C55),
            onTertiaryContainer = Color(0xFFFFD7F1),
            error = Color(0xFFFFB4AB),
            onError = Color(0xFF690005),
            errorContainer = Color(0xFF93000A),
            onErrorContainer = Color(0xFFFFDAD6),
            background = Color(0xFF121318),
            onBackground = Color(0xFFE4E1E9),
            surface = Color(0xFF121318),
            onSurface = Color(0xFFE4E1E9),
            surfaceVariant = Color(0xFF46464F),
            onSurfaceVariant = Color(0xFFC7C5D0),
            outline = Color(0xFF90909A),
            outlineVariant = Color(0xFF46464F),
            scrim = Color(0xFF000000),
            inverseSurface = Color(0xFFE4E1E9),
            inverseOnSurface = Color(0xFF303036),
            inversePrimary = Color(0xFF515B92),
            surfaceDim = Color(0xFF121318),
            surfaceBright = Color(0xFF39393F),
            surfaceContainerLowest = Color(0xFF0D0E13),
            surfaceContainerLow = Color(0xFF1B1B21),
            surfaceContainer = Color(0xFF1F1F25),
            surfaceContainerHigh = Color(0xFF29292F),
            surfaceContainerHighest = Color(0xFF34343A)
        )

    override val lightHighContrast
        get() = lightColorScheme(
            primary = Color(0xFF131D52),
            onPrimary = Color(0xFFFFFFFF),
            primaryContainer = Color(0xFF353F74),
            onPrimaryContainer = Color(0xFFFFFFFF),
            secondary = Color(0xFF1E2133),
            onSecondary = Color(0xFFFFFFFF),
            secondaryContainer = Color(0xFF3F4255),
            onSecondaryContainer = Color(0xFFFFFFFF),
            tertiary = Color(0xFF34182F),
            onTertiary = Color(0xFFFFFFFF),
            tertiaryContainer = Color(0xFF593851),
            onTertiaryContainer = Color(0xFFFFFFFF),
            error = Color(0xFF4E0002),
            onError = Color(0xFFFFFFFF),
            errorContainer = Color(0xFF8C0009),
            onErrorContainer = Color(0xFFFFFFFF),
            background = Color(0xFFFBF8FF),
            onBackground = Color(0xFF1B1B21),
            surface = Color(0xFFFBF8FF),
            onSurface = Color(0xFF000000),
            surfaceVariant = Color(0xFFE3E1EC),
            onSurfaceVariant = Color(0xFF23232B),
            outline = Color(0xFF42424B),
            outlineVariant = Color(0xFF42424B),
            scrim = Color(0xFF000000),
            inverseSurface = Color(0xFF303036),
            inverseOnSurface = Color(0xFFFFFFFF),
            inversePrimary = Color(0xFFEAEAFF),
            surfaceDim = Color(0xFFDBD9E0),
            surfaceBright = Color(0xFFFBF8FF),
            surfaceContainerLowest = Color(0xFFFFFFFF),
            surfaceContainerLow = Color(0xFFF5F2FA),
            surfaceContainer = Color(0xFFEFEDF4),
            surfaceContainerHigh = Color(0xFFE9E7EF),
            surfaceContainerHighest = Color(0xFFE4E1E9)
        )

    override val darkHighContrast
        get() = darkColorScheme(
            primary = Color(0xFFFDFAFF),
            onPrimary = Color(0xFF000000),
            primaryContainer = Color(0xFFC0C7FF),
            onPrimaryContainer = Color(0xFF000000),
            secondary = Color(0xFFFDFAFF),
            onSecondary = Color(0xFF000000),
            secondaryContainer = Color(0xFFC8C9E1),
            onSecondaryContainer = Color(0xFF000000),
            tertiary = Color(0xFFFFF9F9),
            onTertiary = Color(0xFF000000),
            tertiaryContainer = Color(0xFFEABEDC),
            onTertiaryContainer = Color(0xFF000000),
            error = Color(0xFFFFF9F9),
            onError = Color(0xFF000000),
            errorContainer = Color(0xFFFFBAB1),
            onErrorContainer = Color(0xFF000000),
            background = Color(0xFF121318),
            onBackground = Color(0xFFE4E1E9),
            surface = Color(0xFF121318),
            onSurface = Color(0xFFFFFFFF),
            surfaceVariant = Color(0xFF46464F),
            onSurfaceVariant = Color(0xFFFDFAFF),
            outline = Color(0xFFCBC9D4),
            outlineVariant = Color(0xFFCBC9D4),
            scrim = Color(0xFF000000),
            inverseSurface = Color(0xFFE4E1E9),
            inverseOnSurface = Color(0xFF000000),
            inversePrimary = Color(0xFF1C255A),
            surfaceDim = Color(0xFF121318),
            surfaceBright = Color(0xFF39393F),
            surfaceContainerLowest = Color(0xFF0D0E13),
            surfaceContainerLow = Color(0xFF1B1B21),
            surfaceContainer = Color(0xFF1F1F25),
            surfaceContainerHigh = Color(0xFF29292F),
            surfaceContainerHighest = Color(0xFF34343A)
        )

    override val lightMediumContrast
        get() = lightColorScheme(
            primary = Color(0xFF353F74),
            onPrimary = Color(0xFFFFFFFF),
            primaryContainer = Color(0xFF6871AA),
            onPrimaryContainer = Color(0xFFFFFFFF),
            secondary = Color(0xFF3F4255),
            onSecondary = Color(0xFFFFFFFF),
            secondaryContainer = Color(0xFF717389),
            onSecondaryContainer = Color(0xFFFFFFFF),
            tertiary = Color(0xFF593851),
            onTertiary = Color(0xFFFFFFFF),
            tertiaryContainer = Color(0xFF8E6984),
            onTertiaryContainer = Color(0xFFFFFFFF),
            error = Color(0xFF8C0009),
            onError = Color(0xFFFFFFFF),
            errorContainer = Color(0xFFDA342E),
            onErrorContainer = Color(0xFFFFFFFF),
            background = Color(0xFFFBF8FF),
            onBackground = Color(0xFF1B1B21),
            surface = Color(0xFFFBF8FF),
            onSurface = Color(0xFF1B1B21),
            surfaceVariant = Color(0xFFE3E1EC),
            onSurfaceVariant = Color(0xFF42424B),
            outline = Color(0xFF5E5E67),
            outlineVariant = Color(0xFF7A7A83),
            scrim = Color(0xFF000000),
            inverseSurface = Color(0xFF303036),
            inverseOnSurface = Color(0xFFF2EFF7),
            inversePrimary = Color(0xFFBAC3FF),
            surfaceDim = Color(0xFFDBD9E0),
            surfaceBright = Color(0xFFFBF8FF),
            surfaceContainerLowest = Color(0xFFFFFFFF),
            surfaceContainerLow = Color(0xFFF5F2FA),
            surfaceContainer = Color(0xFFEFEDF4),
            surfaceContainerHigh = Color(0xFFE9E7EF),
            surfaceContainerHighest = Color(0xFFE4E1E9)
        )

    override val darkMediumContrast
        get() = darkColorScheme(
            primary = Color(0xFFC0C7FF),
            onPrimary = Color(0xFF050F46),
            primaryContainer = Color(0xFF848DC8),
            onPrimaryContainer = Color(0xFF000000),
            secondary = Color(0xFFC8C9E1),
            onSecondary = Color(0xFF121526),
            secondaryContainer = Color(0xFF8D8FA6),
            onSecondaryContainer = Color(0xFF000000),
            tertiary = Color(0xFFEABEDC),
            onTertiary = Color(0xFF270C22),
            tertiaryContainer = Color(0xFFAC85A1),
            onTertiaryContainer = Color(0xFF000000),
            error = Color(0xFFFFBAB1),
            onError = Color(0xFF370001),
            errorContainer = Color(0xFFFF5449),
            onErrorContainer = Color(0xFF000000),
            background = Color(0xFF121318),
            onBackground = Color(0xFFE4E1E9),
            surface = Color(0xFF121318),
            onSurface = Color(0xFFFDFAFF),
            surfaceVariant = Color(0xFF46464F),
            onSurfaceVariant = Color(0xFFCBC9D4),
            outline = Color(0xFFA3A2AC),
            outlineVariant = Color(0xFF83828C),
            scrim = Color(0xFF000000),
            inverseSurface = Color(0xFFE4E1E9),
            inverseOnSurface = Color(0xFF292A2F),
            inversePrimary = Color(0xFF3B447A),
            surfaceDim = Color(0xFF121318),
            surfaceBright = Color(0xFF39393F),
            surfaceContainerLowest = Color(0xFF0D0E13),
            surfaceContainerLow = Color(0xFF1B1B21),
            surfaceContainer = Color(0xFF1F1F25),
            surfaceContainerHigh = Color(0xFF29292F),
            surfaceContainerHighest = Color(0xFF34343A)
        )
}